﻿#region Using directives

using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.Serialization;
using System.Xml;

#endregion

namespace MCMLXVII.BackEnd.Services.OrganizationChart.Messages
{
    [Serializable()]
    [System.Xml.Serialization.XmlType(Namespace = "http://tempuri.org/")]
    public struct NodeLanguageTranslations
    {
        public string Language;
        public string Name;
        public NodeLanguageTranslations(string _Language, string _Name)
        {
            Language = _Language;
            Name = _Name;
        }

    }

    [Serializable()]
    [System.Xml.Serialization.XmlType(Namespace = "http://tempuri.org/")]
    public class msgOrganizationNodeInfo
    {
        private string _Name;
        private int _NodeID;
        private int _FatherID;
        private msgOrganizationNodeInfo _FirstChild;
        private msgOrganizationNodeInfo _NextBrother;
        private bool _BlockInheritance;
        private int _OwnerID;
        private string _DirectoryConfigInfo;
        private int _UpdateSequence;
        private NodeLanguageTranslations[] _Translations;

        public msgOrganizationNodeInfo()
        {

        }
        public msgOrganizationNodeInfo(int NodeID, string Name, int FatherID, msgOrganizationNodeInfo FirstChild, msgOrganizationNodeInfo NextBrother, int OwnerID, bool BlockInheritance, string DirectoryConfigInfo, int UpdateSequence)
        {
            _NodeID = NodeID;
            _Name = Name;
            _FatherID = FatherID;
            _FirstChild = FirstChild;
            _NextBrother = NextBrother;
            _BlockInheritance = BlockInheritance;
            _OwnerID = OwnerID;
            _DirectoryConfigInfo = DirectoryConfigInfo;
            _UpdateSequence = UpdateSequence;
          
        }

        public string Name
        {
            get { return _Name; }
            set { _Name = value; }
        }

        public int NodeID
        {
            get { return _NodeID ; }
            set { _NodeID = value; }
        }
        public int FatherID
        {
            get { return _FatherID; }
            set { _FatherID = value; }
        }
        public msgOrganizationNodeInfo FirstChild
        {
            get { return _FirstChild; }
            set { _FirstChild = value; }
        }
        public msgOrganizationNodeInfo NextBrother
        {
            get {return _NextBrother;}
            set { _NextBrother = value; }
        }
        public bool BlockInheritance
        {
            get { return _BlockInheritance; }
            set { _BlockInheritance = value; }
        }
        public int OwnerID
        {
            get { return _OwnerID; }
            set { _OwnerID = value; }
        }
        public string DirectoryConfigInfo
        {
            get { return _DirectoryConfigInfo; }
            set { _DirectoryConfigInfo = value; }
        }
        public int UpdateSequence
        {
            get { return _UpdateSequence; }
            set { _UpdateSequence = value; }

        }
        public NodeLanguageTranslations[] Translations
        {
            get { return _Translations; }
            set { _Translations = value; }
        }

    }
}
